package org.ix.dynamicapis.configure.models;

import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 接口
 *
 * @author 郗世豪（xishihao@chehejia.com） All Rights Reserved.
 * @version 0.0.0.1-SNAPSHOT
 */
@Data
public class ApiModel implements Serializable {

    /**
     * 接口ID
     */
    private Integer id;

    /**
     * 所属业务系统
     */
    private String systemCode;

    /**
     * 数据来源
     */
    private String dataSource;

    /**
     * 接口说明
     */
    private String name;

    /**
     * 版本 (格式：v主版本号-次版本号)
     */
    private String version;

    /**
     * 主题
     */
    private String topic;

    /**
     * 接口路径
     */
    private String apiPath;

    /**
     * sql返回结果 (1:List, 2:Object)
     */
    private Integer resultType;

    /**
     * mybatis的执行sql
     */
    private String mybatisSql;

    /**
     * 是否有参数(0否, 1是)
     */
    private Integer hasParams;

    /**
     * 是否可以缓存(0否, 1是)
     */
    private Integer cacheable;

    /**
     * 缓存时长 (单位:分钟)
     */
    private Integer cacheTime;

    /**
     * 备注
     */
    private String remark;

    private List<ApiParamModel> apiParams;
    private List<ApiExportModel> apiExports;
    private Map<String, Map<String, String>> apiFieldOptionsMap;
}
